home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 1 / Meeting Pearls Vol 1 (1994).iso / installed_progs / text / faqs / c++-faq.libraries < prev    next >
Encoding:
Internet Message Format  |  1994-01-09  |  76.8 KB

  1. Subject: Available C++ libraries FAQ
  2. Newsgroups: comp.lang.c++,comp.answers,news.answers
  3. From: nikki@trmphrst.demon.co.uk (Nikki Locke)
  4. Date: Sat, 8 Jan 1994 16:31:49 +0000
  5.  
  6. Archive-name: C++-faq/libraries
  7. Comp-lang-c++-archive-name: C++-faq/libraries
  8. Last-modified: 1994/01/08
  9.  
  10. Here is the third draft of a list of available C++ libraries I am 
  11. compiling. I intend to post this monthly (unless there are any 
  12. complaints). 
  13.  
  14. It is also submited to news.answers, and is available for public ftp
  15. (along with all the other Usenet FAQ lists) at rtfm.mit.edu (18.70.0.224), 
  16. in pub/usenet-by-group/comp.lang.c++/libraries.
  17.  
  18. Rtfm.mit.edu also has a mail server - send a mail message containing 
  19. "usenet-by-group/comp.answers/C++-faq/libraries" to mail-server@rtfm.mit.edu.
  20. If you want to find out more about the mail server, send a message to it
  21. containing "help". 
  22.  
  23. Marshall Cline's C++ FAQ is also available from rtfm - the files are
  24. called _posting_#1_4, _posting_#2_4, _posting_#3_4 and _posting_#4_4, and
  25. they are in the same directory. 
  26.  
  27. I have not included a credits list, because it would be nearly as large as
  28. the rest of the file! Many thanks to all those who contributed, and I 
  29. hope you won't be offended that I haven't mentioned you. One recent 
  30. contribution of note is a C++ matrix class listing posted to the net by 
  31. Keith (kbriggs@maths.adelaide.edu.au).
  32.  
  33. Entries are in the order I received them, i.e. totally random. Some future
  34. version might have the entries in alphabetical order, but don't hold your 
  35. breath :-)
  36.  
  37. If your library isn't mentioned, or you wish to update your entry in this 
  38. list, feel free to mail me the new entry.  Please note that entries will 
  39. be restricted to a couple of paragraphs - if you send me a 100k text file 
  40. giving minute details, I will have to summarise it. It is much easier for 
  41. me if you just send me an entry which is the right size to start with.
  42.  
  43. Please mail comments, criticisms, additions and amendments to me at
  44. cpplibs@trmphrst.demon.co.uk.
  45.  
  46. Libraries available via ftp
  47. ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  48. ---------------------------------------------------------
  49. Aisearch - a package to make writing problem solving programs easier.
  50.  
  51. Offers the programmer a set of search algorithms that may be used to
  52. solve all kind of different problems. The following search algorithms
  53. have been implemented: 
  54.  
  55.     - depth-first tree and graph search.
  56.     - breadth-first tree and graph search.
  57.     - uniform-cost tree and graph search.
  58.     - best-first search.
  59.     - bidirectional depth-first tree and graph search.
  60.     - bidirectional breadth-first tree and graph search.
  61.     - AND/OR depth tree search.
  62.     - AND/OR breadth tree search.
  63.  
  64. Although this package is meant as a tool for developing problem solving 
  65. software it is not meant exclusively for programmers that are familiar with
  66. the concept of problem representation and search techniques. The document
  67. accompanying this package first describes (though condensed) the theory of
  68. problem solving in AI and next explains how the search class library must be
  69. used. Furthermore, as the source code is richly commented and as also some
  70. demo programs are included the package should also prove useful to people that
  71. want to get acquainted with the subject.
  72.  
  73.     ftp from obelix.icce.rug.nl
  74.     in /pub/peter/aisearch.zip
  75.     or /pub/peter/aisearch.tar.Z
  76. ---------------------------------------------------------
  77. Source to the Book: Object-Oriented Software in C++
  78.  
  79. by      Michael A. Smith  (mas@unix.brighton.ac.uk)
  80. ref    "Object-Oriented Software in C++", Chapman & Hall,
  81.         London. 1993. ISBN 0 412 55380 5.
  82.  
  83.     ftp from unix.brighton.ac.uk
  84.     in /pub/mas
  85. ---------------------------------------------------------
  86. DOSTmUit - DOS Text Mode User Interface Toolkit
  87.  
  88. Enables C++ programmers to add a CUA-compliant user interface to their
  89. DOS programs without getting involved in screen coordinates and other
  90. messy details. The programmer merely states which interface objects are
  91. required, and how they are to be placed on the screen in relation to each
  92. other. Those familiar with the ET++ toolkit for the X windows system
  93. under Unix will get the general idea. 
  94.  
  95. Includes a class documentation facility (DocClass) which will generate a
  96. large text file from the source code giving details of every class,
  97. structure, enum and extern in the toolkit. This program will also work on
  98. your own C++ source code. Source is provided. 
  99.  
  100.     mail : uit@trmphrst.demon.co.uk
  101.  
  102.     ftp from ftp.demon.co.uk[158.152.1.65]
  103.     in pub/trumphurst/dosuit??.zip
  104.     Also uitbor??.zip for Borland C++ users
  105. ---------------------------------------------------------
  106. Lapack++
  107.  
  108. Description : C++ version of some of lapack fortran code.
  109. Author      : J. Dongarra, R. Pozo, D. Walker
  110. Version     : 0.9 beta
  111. Comments    : Developmental version of proposed C++ version of lapack.
  112.               Contains blas.h++ etc, but needs Fortran library to link.
  113. Documents   : Overview paper (9 pages postscript), release notes (7 page ps)
  114.  
  115.     ftp from netlib2.cs.utk.edu
  116.     in lapack++/*
  117. ---------------------------------------------------------
  118. MatClass
  119.  
  120. Description : a C++ class for numerical computation
  121. Author      : Chris Birchenhall (chris.birchenhall@mailhost.mcc.ac.uk}
  122. Comments    : Very complete.
  123.               *  Offers a general purpose dense, real matrix class
  124.               *  Has a family of decomposition classes based on
  125.                  LU, Cholesky, Householder QR and SVD
  126.               *  Has a family of OLS regression classes based on
  127.                  above decompositons
  128.               *  A family of special function classes
  129.               *  Random number class
  130.               *  Has a simplified I/O structure
  131. Documents   : Very thorough tex manual, with discussion of design philosophy.
  132.               Currently the manual does not cover all the features of the I/O.
  133.  
  134.     ftp from uts.mcc.ac.uk (130.88.200.3)
  135.     pub/matclass
  136. ---------------------------------------------------------
  137. Blas.cpp.shar.z
  138.  
  139. Author      : Damian McGuckin (damianm@eram.esi.com.au)
  140. Description : a BLAS in C++
  141.  
  142.     ftp from usc.edu
  143.     in pub/C-numanal
  144. ---------------------------------------------------------
  145. Texas Persistant Store
  146.  
  147. Paul R. Wilson and Sheetal V. Kakkad
  148. Object-Oriented Programming Systems research group (oops@cs.utexas.edu)
  149. Computer Sciences Dept., University of Texas at Austin
  150.  
  151. Texas is a free persistent store that can be used with standard C++ compilers,
  152. and works efficiently with very little modification to most C++ programs.
  153. It runs on several varieties of UNIX and should be very easy to port to most
  154. modern operating systems, such as OS/2, Windows NT, Mach, Windows 4.0, etc.
  155. (If things we hear are correct, Linux will provide the necessary virtual
  156. memory features soon, too, and Texas will be ported about fifteen minutes 
  157. later. :-)
  158.  
  159. Texas uses "pointer swizzling at page fault time", an address translation
  160. techique that converts pointers from an abstract format to actual virtual
  161. memory addresses when pages are first touched and brought into memory.
  162. (A similar technique, invented independently, is used in the market-leading
  163. persistent store/OODB, ObjectStore from Object Design Inc.)  This allows
  164. Texas to be highly portable, avoiding any assumptions about where a page
  165. of data will be an a process' virtual memory address space; it can also
  166. support very large addresses spaces efficiently on stock 32-bit hardware.
  167. (It could also be used to efficiently provide shared address spaces across
  168. networked heterogenous machines with different hardware address sizes, e.g.,
  169. across 32- and 64-bit machines.)
  170.  
  171. mailing list : oops@cs.utexas.edu
  172.  
  173.     ftp from cs.utexas.edu
  174.     in pub/garbage/texas
  175.     More info in pub/garbage/swizz.ps
  176.     and pub/garbage/texaspstore.ps
  177. ---------------------------------------------------------
  178. wxWindows is a C++ class library for building Motif, Open Look,
  179. Windows 3.1 and NT applications from the same source code. One simple
  180. API is provided for all platforms. wxWindows supports objects such as
  181. frames, subwindows, buttons, list boxes, icons, and bitmaps, and
  182. supports drawing into canvases, PostScript files, Windows printers,
  183. metafiles and bitmaps using the same drawing primitives.
  184.  
  185. wxWindows provides a hypertext help facility, and a utility for
  186. maintaining documentation in printed and three hypertext formats. It
  187. also provides an interprocess communication API based on DDE, that
  188. works under both Windows 3.1 and UNIX. Documentation is available in
  189. PostScript, RTF, Windows Help, wxHelp and HTML formats.
  190.  
  191.     Julian Smart
  192.     Artificial Intelligence Applications Institute
  193.     University of Edinburgh
  194.     80 South Bridge
  195.     Edinburgh
  196.     Scotland
  197.     EH1 1HN
  198.     EMAIL: J.Smart@ed.ac.uk
  199.     TEL:   031 650 2746
  200.  
  201.     ftp from skye.aiai.ed.ac.uk (192.41.104.6),
  202.     in directory pub/wxwin.
  203. ---------------------------------------------------------
  204. CNCL
  205.  
  206. Universal classes:
  207.     * Tree structured class hierarchy, similar to NIHCL.
  208.     * Classes for general purposes such as arrays, linked lists,
  209.       strings.
  210.     * Interface classes for UNIX system calls: pipes, select.
  211. Simulation:
  212.     * Event driven simulation.
  213.     * Statistical evaluation.
  214.     * Random number generators and distributions.
  215. Fuzzy logic:
  216.     * Fuzzy sets, fuzzy variables, fuzzy rules and inference
  217.       engine for building fuzzy controllers and expert systems.
  218. EZD:
  219.     * Interface classes for DEC's ezd graphics server.
  220.  
  221. This version of CNCL is known to compile and run on the following
  222. systems:
  223.     * SUN SPARCstation, SUNOS 4.1.3, GNU g++ 2.3.3/2.4.5,
  224.       libg++ 2.3/2.4
  225.     * SUN 3/60, SUNOS 4.1.3, GNU g++ 2.3.3/2.4.5,
  226.       libg++ 2.3/2.4
  227.     * LINUX 0.99.13, GNU g++ 2.4.5, libc 4.4.1, libc 4.4.4 +
  228.       libg++ 2.4
  229.  
  230. Distributed under the GNU Library General Public License.
  231.  
  232.     Communication Networks
  233.     Aachen University of Technology
  234.     D-52056 Aachen
  235.     Germany
  236.     Email: mj@dfv.rwth-aachen.de (Martin Junius)
  237.  
  238.     ftp from ftp.dfv.rwth-aachen.de  (137.226.4.111)
  239.     in directory pub/CNCL
  240. ---------------------------------------------------------
  241. RTTI implementation
  242.  
  243.     ftp from invaders.dcrl.nd.edu (129.74.18.54)
  244.     in /pub/software/rtti.tar.Z
  245.  
  246.     Arindam Banerji 
  247.     axb@cse.nd.edu 
  248.  
  249.     384 FitzPatrick Hall
  250.     Dept. of Computer Science & Engg. 
  251.     University of Notre Dame
  252.     Notre Dame, IN 46556
  253.     (219)-631-5273
  254.     (219)-631-5772
  255. ---------------------------------------------------------
  256. Lily (LIsp LibrarY) C++ class library which gives C++ programmers the
  257. capability to write LISP-style code. 
  258.  
  259. I think Lily will be useful in academia for instructors who
  260. want to teach artificial intelligence techniques with C++.  The
  261. garbage collection mechanism employed by Lily is slow which will make it
  262. unattractive for commercial use.
  263.  
  264. Documentation is minimal.  The "Lily User's Guide" (in file lily.txt) provides
  265. a good overview of the architecture of Lily -- the document is unfinished.  
  266. All of the example programs are from Winston's book "LISP Second Edition" so
  267. you will be much better off if you have a copy.  Steele's "Common LISP" 
  268. describes the behavior of the LISP functions.  
  269.  
  270. Lily uses the GNU Library General Public License.
  271.  
  272. Lily works well with GNU g++ version 2.4.5 (and probably earlier releases).
  273.  
  274. Lily works with Turbo C++ for Windows but not with Turbo C++ (though the
  275. current version hasn't been tested with Turbo C++ for Windows).
  276.  
  277. Lily does *not* work with AT&T's cfront because cfront does not handle 
  278. temporary objects very well.
  279.  
  280.     ftp from sunsite.unc.edu (152.2.22.81)
  281.     in /uploads/lily-0.1.tar.gz 
  282. ---------------------------------------------------------
  283. DiamondBase is a library of C++ routines and utilities that allow you 
  284. to add Relational Database functionality to your C++ programs. It
  285. is written entirely in C++, and great pains have been taken to
  286. ensure it compiles under a variety of compilers including gcc,
  287. cfront and Borland's C++ compiler for OS/2. It runs on a wide
  288. variety of Unix platforms and OS/2. There are no plans to support
  289. DOS or Windows at the moment. It comes with a 47 page manual.
  290.  
  291. Contact:
  292.     darrenp@dibbler.cs.monash.edu.au
  293.     kevinl@bruce.cs.monash.edu.au
  294.     davison@molly.cs.monash.edu.au
  295.  
  296.     ftp from pippin.cs.monash.edu.au
  297.     in pub/export/?
  298. ---------------------------------------------------------
  299. GINA++ - An O-O application framework for C++, X11R5, and OSF/Motif
  300.  
  301. Requires:  AT&T 3.0 based C++ compiler (Sun C++ 2.0.1), X11R5, Motif 1.2
  302. Platforms supported:    Sun Sparc, HP
  303.  
  304. GINA++ (The Generic INteractive Application for C++) is an object-
  305. oriented application framework that facilitates the development of
  306. applications with a graphical user interface. It is written in C++ and
  307. uses OSF/Motif and X for the user interface parts. GINA++ comes as a
  308. library of C++ classes, 10 small to medium demo applications, and it is
  309. fully documented. 
  310.  
  311. Components of GINA++ are: (1) A C++ encapsulation of OSF/Motif providing
  312. easy-to-use mechanisms for deriving new widget classes completely in C++,
  313. (2) Support for object-oriented graphics (rectangles, arrows, circle,
  314. etc), (3) An unlimited undo/redo history mechanism, (4) supporting
  315. classes for data structures (list, arrays, etc), run-time type
  316. information, and a notification mechanism. 
  317.  
  318. The classes of GINA++ constitute an executable program - the generic
  319. application - which possesses the basic functionality and the user
  320. interface components common to all interactive graphical applications,
  321. but lacks any application-specific behavior. The predefined functionality
  322. and behavior is inherited by deriving subclasses from the existing GINA++
  323. classes. Application specific behavior is implemented by adding new
  324. classes and member functions. Differences to the standard application are
  325. coded by refining virtual member functions inherited from GINA++. 
  326.  
  327. Author: Andreas Baecker (baecker@gmd.de), 
  328.     GMD, 
  329.     P.O. Box 1316, 
  330.     D-53731 Sankt Augustin
  331.  
  332.     ftp from ftp.gmd.de:
  333.     in /gmd/ginaplus
  334.     or ftp.x.org:
  335.     in /contrib
  336. ---------------------------------------------------------
  337. Motif++ - Ronald van Loon.
  338. A wrapper-library, that encapsulates Motif widgets in C++ classes. All
  339. resources of these Widgets can now be set through member-functions, while
  340. objects can be used in callback-functions. 
  341.  
  342. The July 93 release offers:
  343. - Easy configuration (even for non-imake-gurus)
  344. - Full support for X11R4 as well as X11R5
  345. - Full support for Motif 1.1 and Motif 1.2 (including Drag and Drop)
  346. - Support for Xbae widgetset 
  347. - Support for the xpm library
  348. - Percentage widgets
  349. - Generic Widget
  350. - Support for WCL Table Widget
  351. - A library for easy manipulation of Visuals 
  352. - A library that reads PBMPLUS files, as well as providing an extension to 3D
  353.   of the format.
  354. - Lots of demos and testfiles (even somewhat useful programs)
  355. - An article I wrote on the usage of Motif, X and C++, previously posted
  356.   on Usenet.
  357. - all filenames smaller than 14 characters
  358.  
  359. Requires:
  360.     X11R4 or any later version
  361.     Motif 1.1 or any later version
  362.     C++ compiler, compatible with cfront 2.0 or later
  363.     imake
  364.     a bourne shell (sh, bash, ksh ...) that supports shellfunctions.
  365.     sed
  366.  
  367.     mail "rvloon@cv.ruu.nl".
  368.     Tel: +31 33 758 293 (if desparate !)
  369.  
  370.     mailing list : motif++@cv.ruu.nl
  371.     subscriptions : motif++-request@cv.ruu.nl
  372.  
  373.     ftp from decuac.dec.com: 
  374.     in /pub/X11/motif++.28.jul.93.tar.gz
  375.     or from nrcnet0.nrc.ca (132.246.160.2): 
  376.     in /pub/motif++/motif++.28.jul.93.tar.gz
  377.     or from ftp.wg.omron.co.jp: 
  378.     in /pub/X11/misc/MOTIF.AND.WIDGETS/Motif++.tar.Z 
  379.     or from src.doc.ic.ac.uk:
  380.     in /packages/motif++/motif++.28.jul.93.tar.gz
  381. ---------------------------------------------------------
  382. OATH (Object-oriented Abstract Type Hierarchy) was designed
  383. as an experiment in increasing object-oriented reuse.
  384. It has a fairly high learning curve, but potentially 
  385. higher gains if you are looking for a more flexible and
  386. robust abstraction.  It is completely unsupported.
  387.  
  388.     ftp from csc.ti.com (192.94.94.1)
  389.     in pub/oath.tar.Z
  390. ---------------------------------------------------------
  391. COOL (C++ Object-Oriented Library) was designed as an 
  392. experiment in templates and exception handling.  Templates
  393. are implemented via a preprocessor with an advanced macro
  394. capability.  It displays a different set of trade-offs 
  395. from OATH.  It is also completely unsupported.
  396.  
  397.     ftp from csc.ti.com (192.94.94.1)
  398.     in pub/COOL.tar.Z
  399. ---------------------------------------------------------
  400.  
  401. NIHCL (National Institute of Health's C++ Library) is
  402. essentially a mapping of part of Smalltalk's library
  403. into C++.  It lies somewhere between OATH and COOL.
  404. It is a little better supported and there is a textbook
  405. by the author, Keith Gorlen, that is fairly good documentation.
  406. However, the Smalltalk hierarchy is not completely 
  407. consistent (IMO) with the C++ strong typing nature.
  408. It is weakly supported.
  409.  
  410.     ftp from alw.nih.gov (198.231.128.251)
  411.     in pub/nihcl.tar.Z
  412. ---------------------------------------------------------
  413. libg++ (GNU's C++ library) is probably only relevant if
  414. you are using g++; and if so, you already know about it.
  415. It does have some good implementations of bignum's and
  416. of regular expressions and strings.
  417.  
  418.     ftp from aeneas.mit.edu (18.71.0.38)
  419.     in pub/gnu/libg++-*
  420. ---------------------------------------------------------
  421. InterViews is an excellent GUI class library developed by Stanford
  422. University. Make sure you get v3.1 or later. This library contains
  423. excellent examples of multiple inheritance used profitably. I understand
  424. that InterViews development will not continue past the current version;
  425. author Mark Linton is concentrating his efforts on the X Consortium
  426. Fresco project, which should show up in X11R6. 
  427.  
  428.     ftp from interviews.stanford.edu
  429. ---------------------------------------------------------
  430. Unidraw is a graphical editor building library based on top
  431. of InterViews.
  432.  
  433.     ftp from interviews.stanford.edu
  434. ---------------------------------------------------------
  435. ET++ is a large GUI library and other C++ tools developed
  436. in Europe.
  437.  
  438.     ftp from ftp.inria.fr
  439.     in gnu/et++-2.0.tar.Z
  440. ---------------------------------------------------------
  441. LEDA, A Library of Efficient Data Types and Algorithms, by Stefan N"aher
  442. from Germany. It is available for educatioal purposes but its NOT in the
  443. public domain. 
  444.  
  445. Provides basic data-types like lists, stacks, queues, trees, sets,
  446. partitions, priority queues and a few others. These are parameterizable
  447. classes, you may add your own datatype and have a priority queue ...
  448. An important datatype is a graph, these are also parameterizable and there
  449. are useful algorithms for them like shortest path, transitive closure,
  450. matching, maximum flow, spanning tree and others, we have implemented a few
  451. algorithms for dealing with perfect graphs, but these ar not part of the
  452. standard library. The latest part deals with computational geometry.
  453.  
  454. It can be used with C++ compilers which understand templates, such as 
  455. cfront 3.0 and g++ 2.4.5.
  456.  
  457.     Stefan Naeher
  458.     Max-Planck-Institut fuer Informatik
  459.     Im Stadtwald, 
  460.     6600 Saarbruecken, 
  461.     Germany
  462.     (stefan@mpi-sb.mpg.de)
  463.  
  464.     ftp from sbsvax.cs.uni-sb.de (134.96.252.31)
  465.     in /pub/LEDA/LEDA-<version>.tar.Z
  466. ---------------------------------------------------------
  467. Code from Hansen's C++ Answers book
  468. by      Tony L. Hansen
  469. ref     "The C++ Answer Book", Addison-Wesley, 1990, ISBN 0-302-11497-6
  470.  
  471.     ftp from netlib@research.att.com
  472.     in c++/answerbook
  473. ---------------------------------------------------------
  474. Code from Coplien's, "Advanced C++ Programming Styles and Idioms"
  475. by      James O. Coplien
  476. ref     "Advanced C++ Programming Styles and Idioms", Addison-Wesley, 1992, ISBN
  477.  
  478.     ftp from netlib@research.att.com
  479.     in c++/idioms
  480. ---------------------------------------------------------
  481. Brent's univariate minimizer and zero finder.
  482. by      Oleg Kiselyov <oleg@ponder.csci.unt.edu, oleg@unt.edu>
  483. ref     G.Forsythe, M.Malcolm, C.Moler, Computer methods for
  484.         mathematical computations.
  485. prec    double
  486. see     c++/serv_cc.shar
  487.  
  488.     ftp from netlib@research.att.com
  489.     in c++/brent_cc.shar
  490. ---------------------------------------------------------
  491. Radix-2 Fast Fourier Transform
  492. by      Oleg Kiselyov <oleg@ponder.csci.unt.edu, oleg@unt.edu>
  493. prec    single/double
  494. see     c++/lin_alg.shar, c++/serv_cc.shar
  495.  
  496.     ftp from netlib@research.att.com
  497.     in c++/fft.shar
  498. ---------------------------------------------------------
  499. High level vector operations
  500.         Contains the Aitken-Lagrange interpolation over the table of uniform or
  501.         arbitrary mesh, and the Hook-Jeevse multidimensional minimizer.
  502. by      Oleg Kiselyov <oleg@ponder.csci.unt.edu, oleg@unt.edu>
  503. prec    single/double
  504. see     c++/lin_alg.shar, c++/serv_cc.shar
  505.  
  506.     ftp from netlib@research.att.com
  507.     in c++/hl_vector.shar
  508. ---------------------------------------------------------
  509. basic linear algebra classes
  510. by      Oleg Kiselyov <oleg@ponder.csci.unt.edu, oleg@unt.edu>
  511. prec    single/double
  512. see     c++/serv_cc.shar
  513.  
  514.     ftp from netlib@research.att.com
  515.     in c++/lin_alg.shar
  516. ---------------------------------------------------------
  517. A couple of functions that ought to be in the standard
  518. C++ environment;
  519. - Updated G++ class File that allows now for the file name to
  520.   include pipes, say,
  521.     File in_file("zcat aaa.Z |","r");
  522. - Resource facility, or managing global "private" parameters
  523.   that specify various program "options". It helps keep
  524.   reasonable number of arguments in function calls.
  525. by      Oleg Kiselyov <oleg@ponder.csci.unt.edu, oleg@unt.edu>
  526.  
  527.     ftp from netlib@research.att.com
  528.     in c++/serv_cc.shar
  529. ---------------------------------------------------------
  530. C++ implementation of differential algebra
  531. by      Leo Michelotti <michelotti@adcalc.fnal.gov>
  532. This is temporarily unavailable while we resolve the question of whether
  533. inclusion of codes from Numerical Recipes makes distribution illegal. 
  534.  
  535.     ftp from netlib@research.att.com
  536.     in c++/mxyzptlk.shar
  537. ---------------------------------------------------------
  538. ParLib++, Parallel Programming Classes for C++:
  539.  
  540.     David Greco
  541.     David.Greco@crs4.it
  542. ---------------------------------------------------------
  543. P++, Parallel Programming Classes for C++:
  544.  
  545.     Dan Quinlan
  546.     danq@lemond.colorado.edu
  547. ---------------------------------------------------------
  548. "C* in C++", Parallel Programming Classes for C++:
  549.  
  550.     Terry Bossomaier
  551.     terry@arp.anu.edu.au
  552. ---------------------------------------------------------
  553. pC++ is a preprocessor for C++ that implements a data parallel
  554. extension. Machines currently supported are CM5, paragon, KSR-1,
  555. sequent, BBNTC2000 (and soon ibm sp1, and cray t3d), as well as in
  556. uniprocessor mode on most workstations.
  557.  
  558.     gannon@cs.indiana.edu
  559. ---------------------------------------------------------
  560. DoPVM - a class built on PVM, for message passing environments.
  561.  
  562.     Skip Hartley
  563.     skip@mathcs.emory.edu
  564. ---------------------------------------------------------
  565. The SPLASH c++ class library
  566.  
  567. (Small Perl-like List And String Handling class library)
  568.  
  569. SPLASH is a c++ class library that implements many of the Perl
  570. constructs and data types.
  571.  
  572. For those not familiar with Perl, it is an excellent scripting language
  573. by Larry Wall and is available for most platforms.
  574.  
  575. This Class library provides List, String, Regular Expression, and text
  576. manipulation handling capabilities based on those provided in Perl.
  577.  
  578. This is available as a compressed tar file, shar file, .zoo or .zip format
  579. with MSDOS compatible names.
  580.  
  581. contact: morris@netcom.com
  582.  
  583.     ftp from netcom.com
  584.     in pub/morris/splash.tar.Z
  585.     and pub/morris/splash.shar.Z
  586.     and pub/morris/splash.zip (DOS)
  587.     and pub/morris/splash.zoo (DOS)
  588. ---------------------------------------------------------
  589. OSE consists of three C++ class libraries, a build environment based on
  590. GNU make, programs for documentation extraction and other miscellaneous
  591. tools. 
  592.  
  593. The C++ libraries include generic classes and some UNIX specific classes.
  594. Collection classes use templates compatable with AT&T C++ 3.0. If you
  595. have a C++ compiler which does not support templates, a template
  596. preprocessor supplied with OSE can be used. 
  597.  
  598. OSE uses a GNU style configure script, making it relatively easy to
  599. install, even on platforms for which it may not yet have been compiled.
  600. For DOS users, a script is provided to create a copy of the C++ libraries
  601. suitable for compilation on that platform. 
  602.  
  603. To get further information about OSE, without actually fetching the
  604. complete package, either fetch the file "ANNOUNCE" from one of the
  605. ftp sites below, or send mail to:
  606.     ose@research.otc.com.au
  607.  
  608. Europe:
  609.     ftp from ftp.th-darmstadt.de [130.83.55.75]
  610.     in directory pub/programming/languages/C++/class-libraries/OSE
  611.  
  612. United States:
  613.     ftp from straylight.acs.ncsu.edu [152.1.65.11]
  614.     in directory /pub/ose
  615.  
  616. Australia:
  617.     ftp from csis.dit.csiro.au [192.41.146.1]
  618.     in directory pub/otc
  619. ---------------------------------------------------------
  620. COOL - Texas Instrument's "C++ Object Oriented Library".
  621.  
  622. COOL includes classes like AVL_Tree, Association, Bignum, Binary_Tree,
  623. Bit_Set, Complex, Date_Time, Envelope, Gen_String, Handle, Hash_Table,
  624. Iterator, List, M_Vector, Matrix, N_Tree, Pair, Quaternion, Queue, Random,
  625. Range, Rational, Regexp, Set, Shared, Stack, String, Timer, Value, Vector.
  626.  
  627. COOL uses a special "template" syntax which is preprocessed by a special 
  628. cpp (distributed with COOL). This enables it to be used with compilers 
  629. which do not support templates.
  630.  
  631.  
  632.     fto from csc.ti.com
  633.     in ~ftp/pub/COOL.tar.Z
  634. ---------------------------------------------------------
  635. GECOOL 2.1 is a reworking and enhancement of Texas Instrument's "C++
  636. Object Oriented Library" (at csc.ti.com in ~ftp/pub/COOL.tar.Z) by some
  637. programmers at General Electric. 
  638.  
  639. JCOOL's main difference from COOL and GECOOL is that it uses real C++
  640. templates instead of a similar syntax that is preprocessed by a
  641. special 'cpp' distributed with COOL and GECOOL.  Of course, this
  642.  
  643.  
  644.     ftp from cs.utexas.edu
  645.     in pub/COOL
  646. ---------------------------------------------------------
  647. SOCKET++
  648.  
  649. C++ iostream like library for sockets and pipes.
  650.  
  651.     ftp from from uvaarpa.virginia.edu:
  652.     in /public_access/socket++-XX.tar.gz (XX - version no)
  653.     or from cs.ucl.ac.uk [128.16.5.31]
  654.     in coside/gnu/sockets++.tar.z
  655. ---------------------------------------------------------
  656. PDBlib is a class library written in C++ for modeling a macromolecular
  657. structure at the level of detail (excluding symmetry information) found
  658. in a Protein Data Back (PDB) file. A class is supplied to read a PDB file
  659. into a PDBlib representation. This class is independent of the actual
  660. representation and other forms of input, for example from a relational
  661. database like SESAM, are possible. 
  662.  
  663. The library is made extensible by a close coupling between intrinsic and
  664. external classes. By writing only to the external classes you will remain
  665. compliant with future versions of the library. 
  666.  
  667. You don't get source code. This is a temporary situation while we attempt
  668. to centralize bug fixes and additions to the library. If you find this
  669. situation unworkable source code is available by signing a copyright
  670. agreement which is available with the distribution. 
  671.  
  672. Platforms:
  673.  
  674. PDBLib.1.0.SGI.tar.Z    Compressed tar file of PDB object classes library
  675.                         and header files for SGI.  AT&T C++ release 2.1 & 3.0
  676.                         compatible.
  677.  
  678. PDBLib.1.0.Sun.tar.Z    Compressed tar file of PDB object classes library
  679.                         and header files for Sun Sparc station.  AT&T C++
  680.                         release 2.1 & 3.0 compatible.
  681.  
  682. PDBLib.1.0.Cvx.tar.Z    Compressed tar file of PDB object classes library
  683.                         and header files for Convex.  AT&T C++ release 2.1
  684.                         compatible.
  685.  
  686. PDBLib.1.0.Alpha.tar.Z  Compressed tar file of PDB object classes library
  687.                         and header files for Dec 3000 (Alpha AXP) with OSF1.
  688.                         Dec C++ (cxx) release 1.2 compatible.
  689.  
  690. Address specific programming questions on PDBlib to Weider Chang, the
  691. author of most of the code (weider@cuhhca.hhmi.columbia.edu). 
  692.  
  693. Address questions concerning PDBview to Ilya Shindyalov
  694. (shindyal@cuhhca.hhmi.columbia.edu)
  695.  
  696. Address general comments, criticisms, questions about future directions
  697. etc. to Phil Bourne (system@cuhhca.hhmi.columbia.edu). 
  698.  
  699.     ftp from cuhhca.hhmi.columbia.edu (128.59.98.1)
  700.     in pub/programs/PDB/PDBlib
  701. ---------------------------------------------------------
  702. molbio++ is a C++ library for molecular biosequence analysis.  Major 
  703. features include:
  704.  
  705. classes and services for
  706.   reading and writing sequence data in the following formats:
  707.     Genbank Flatfile
  708.     EMBL / SwissProt
  709.     GCG / Wisconsin
  710.     Fasta / Pearson
  711.     PIR
  712.     NCBI Retrieve Server (read-only)
  713.   limited parsing of fields and features in biosequence files
  714.   storing amino acid or nucleic acid sequences
  715.   iterating over a biosequence
  716.   calculating and storing counts or frequencies of amino acids
  717.     or nucleotides
  718.   device-independent graphics, via GCG's FIGURE program
  719.   translating nucleotide sequences into proteins using
  720.     the universal genetic code or modifications thereof.
  721.   parsing BLAST output
  722.   calculating pI and molecular weight of proteins
  723.   amino acid hydropathy values of Kyte & Doolittle
  724.  
  725.     ftp from golgi.harvard.edu  (128.103.161.55)
  726.     pub/CONTRIBUTIONS/molbio++
  727. ---------------------------------------------------------
  728. SESAME, by C. Tietz, Neural net software ?
  729.  
  730.     ftp from ftp.gmd.de
  731.     in /gmd/as/sesame.
  732. ---------------------------------------------------------
  733. TOLKIEN (TOoLKIt for gENetics-based applications).
  734.  
  735. The tool contains objects for both GA and classifier system applications."
  736. It's in some kind of alpha-status.
  737.  
  738.     tang028@cs.cuhk.hk
  739. ---------------------------------------------------------
  740. GAME - Parallel Genetic Algorithms Theory and Applications
  741.  
  742. Edited by: J. Stender
  743. Publisher: IOS Press
  744. Frontiers in Artificial Intelligence and Applications series
  745. 1993, 225 pp; hard cover; w/ disk
  746. ISBN: 90 5199 087 1
  747. Price: $85, 59 pounds sterling
  748.  
  749. The first version of the GAME Virtual Machine software and two examples
  750. that come with the book can be obtained also by ftp.
  751.  
  752.     ftp from bells.cs.ucl.ac.uk
  753.     in papagena/game/version1 directory
  754. ---------------------------------------------------------
  755. The Generic Linked List Package is a package to define, create, update
  756. query and delete one or more (nodes of) linked lists, to sort linked
  757. lists, and so on. The user doesn't have to take care of allocating a
  758. number of bytes for a node, inserting on the right place, deleting and
  759. freeing a node and so on.
  760.  
  761.     ftp from ftp.tno.nl or hermes.bouw.tno.nl
  762.     in /pub/TNO/BOUW/Bouwinf/linkedlist0.10.shar
  763. ---------------------------------------------------------
  764. Newmat : a very thorough matrix class
  765.  
  766. volume34, issue 107 of comp.sources.misc
  767.  
  768. Author      : Robert Davies (robertd@kauri.vuw.ac.nz)
  769. Comments    : Optimized expression evaluation.  Many decompositions.
  770. Systems     : Unix (g++ 2.3.3 ok), MS-DOS (Borland C++)
  771.  
  772. People trying to run under Gnu or Watcom should contact the author
  773. for a list of patches.
  774.  
  775.     ftp from unix.hensa.ac.uk
  776.     in /pub/uunet/usenet/comp.sources.misc/volume34/newmat07
  777.     or from plaza.aarnet.edu.au (139.130.4.6):
  778.     in /micros/pc/oak/cplusplus/newmat07.zip
  779. ---------------------------------------------------------
  780. nlmdl : a library for estimation of nonlinear models
  781.  
  782. Nonlinear maximisation, estimation, includes a real matrix class
  783.  
  784. Systems     : Unix, MS-DOS (Turbo C++)
  785. Author      : A. Ronald Gallant, arg@ccvr1.cc.ncsu.edu
  786.  
  787.     ftp from ftp.uu.net
  788.     in /usenet/comp.sources.misc/volume16/nlmdl
  789.     or from ccvr1.cc.ncsu.edu (128.109.212.20)
  790.     in pub/arg/nlmdl
  791. ---------------------------------------------------------
  792. Octave : Matlab-like interactive system for numerical computations
  793.  
  794. Includes C++ classes for matrix manipulation, numerical integration, and
  795. the solution of systems of nonlinear equations, ODEs and DAEs.
  796. Distributed under the GPL. 
  797.  
  798. Systems     : Compiles and runs on SPARC, RS/6000, DEC/Ultrix,
  799.               i386/Linux and probably most Unix-like systems that have
  800.               a working g++/libg++.
  801. Author      : John W. Eaton <jwe@che.utexas.edu>
  802.  
  803.     ftp from ftp.che.utexas.edu
  804.     in /pub/octave/octave-M.N.tar.Z
  805. ---------------------------------------------------------
  806. Andy Register <andy@cerl.gatech.edu> has a matrix library ...
  807.  
  808. It is still under development so there is no documentatin and some
  809. functions have not been throughly tested. It is a departure from most
  810. matrix libs in that it includes things like UpperTriangular different
  811. >from Diagonal, from Row, from Col, etc. 
  812.  
  813.     ftp from ftp.cerl.gatech.edu
  814.     in pub/c++/gtmatrix
  815. ---------------------------------------------------------
  816. Awesime : a C++ task library explicitly designed for simulation.
  817.  
  818. Author      : Dirk Grunwald (grunwald@foobar.cs.colorado.edu)
  819.  
  820.     ftp from ftp.cs.colorado.edu
  821.     in pub/cs/misc/Awesime
  822. ---------------------------------------------------------
  823. BLAS in C++
  824.  
  825. Author      : Damian McGuckin (damianm@eram.esi.com.au)
  826.  
  827.     ftp from usc.edu
  828.     in pub/C-numanal/blas.cpp.shar.z
  829. ---------------------------------------------------------
  830. Cvmath.cc
  831. An include file to make complex math look like regular math.
  832.  
  833. Author      : Leonard Kamlet, lik@engin.umich.edu
  834. Comments    : The file uses a lot of operator overloading, so that
  835.               if x=a+ib and y=c+id, the code for multiplying the two
  836.               together looks like z = x*y;  Also, the file includes nrutil
  837.               from Numerical Recipes, and adds the complex versions for
  838.               vectors and matrices.
  839.  
  840.     ftp from usc.edu
  841.     in pub/C-numanal/cvmath.cc
  842. ---------------------------------------------------------
  843. Gnans : Simulation of stochastic and deterministic dynamical systems
  844.  
  845. System      : SunOS 4.1.x, IRIX, AIX; X11 Release 4-5 incl. Athena Widgets
  846. Author      : Bengt Martensson <bengt@mathematik.uni-Bremen.de>
  847. Comments    : A program (and language) for dynamical systems. Includes
  848.               simple scripting language. Graphical user interface. Copyleft.
  849.  
  850.     ftp from ftp.mathematik.uni-Bremen.de
  851.     in /pub/gnans
  852. ---------------------------------------------------------
  853. Kalman : A class library for Kalman filtering
  854.  
  855. Author      : Skip Carter (skip@taygeta.oc.nps.navy.mil)
  856. Description : A class library for Kalman filtering
  857. Comments    : Contains lumatrix.c++ etc.
  858. Language    : g++ 2.4.2 tested OK.
  859.  
  860.     ftp from usc.edu
  861.     in pub/C-numanal/kalman.tar.gz
  862. ---------------------------------------------------------
  863. Matrix
  864.  
  865. A C++ Matrix class, including a matrix implementation of the backward
  866. error propagation (backprop) algorithm for training multi-layer, feed-
  867. forward artificial neural networks 
  868. Author      : E. Robert (Bob) Tisdale, edwin@cs.ucla.edu
  869. Comments    : A C++ interface to existing C and FORTRAN matrix libraries.
  870. Documents   : LaTeX manual.
  871.  
  872.     ftp from ftp.cs.ucla.edu
  873.     in pub/Matrix.tar.Z
  874. ---------------------------------------------------------
  875. Presto : C++ routines for fine-grained parallel programming (lightweight
  876. threads) on multiprocessors. Tuned for the Sequent machines, but highly
  877. adaptable and customizable. 
  878.  
  879. Systems : Unix-like OS on (moderate) multiprocessor machines 
  880. Author : Brian N. Bershad, Edward D. Lazowska, Henry M. Levy 
  881.  
  882.     frp from cs.washington.edu
  883.     in pub/presto1.0.tar.Z 
  884. ---------------------------------------------------------
  885. Range : C++ class for range arithmetic. 
  886.  
  887. Associated with article in TOMS, Dec 1992 title "Precise computation
  888. using range arithmetic, via C++" 
  889. Author      : Oliver Aberth and Mark J. Schaefer
  890.  
  891.     ftp from math.tamu.edu
  892.     in pub/range/range.tar.Z
  893. ---------------------------------------------------------
  894. SA : library for simulated annealing
  895.  
  896. Author      : Skip Carter (skip@taygeta.oc.nps.navy.mil)
  897.  
  898.     ftp from usc.edu
  899.     in pub/C-numanal/sa.zoo
  900. ---------------------------------------------------------
  901. Sdeint
  902.  
  903. A Runge-Kutta like class for integrating systems of Stochastic
  904. Differential Equations 
  905.  
  906. Author      : Skip Carter, skip@taygeta.oc.nps.navy.mil
  907.  
  908.     ftp from usc.edu
  909.     in pub/C-numanal/sdeint.tar.z
  910. ---------------------------------------------------------
  911. Simpack : tools for writing simulations with a EECS bias
  912.  
  913. Author      : Paul A. Fishwick, fishwick@cis.ufl.edu
  914.  
  915.     ftp from bikini.cis.ufl.edu
  916.     in pub/simdigest/tools/simpack
  917.     See also cis/tech-reports/tr92/tr92-022.ps.Z
  918. ---------------------------------------------------------
  919. PARODY : C++ DATABASE LIBRARY
  920.  
  921. Al Stevens has written a book on the subject called
  922. `Database programming in C++' or something. An article
  923. on the subject was printed in Doctor Dobbs Journal
  924. some time ago.
  925.  
  926. The nice thing is that Stevens also wrote a C++ library
  927. adding persistence to C++, and the source is available.
  928. The library is called PARODY and compiles under most
  929. DOS-based C++ compilers. A slight rewrite of the GUI-
  930. routines has to be done to make it compile under GNU C.
  931.  
  932.     ftp from ftp.mv.com
  933.     in pub/ddj/1992.12/parody.zip 
  934.        pub/ddj/1992.12/parody.dir (directory of zip)
  935. ---------------------------------------------------------
  936. SMURPH : A C++ library which could be useful for building a network
  937. simulator.It comes withextensive documentation and examples.
  938.  
  939.     ftp from menaik.cs.ualberta.ca (129.128.4.241)
  940.     in /pub/smurph*
  941. ---------------------------------------------------------
  942. C++ FEM (Finite Element Method) Library 
  943.  
  944. In addition to FEM related classes, this library also has:
  945.  
  946.         1) Some simple garbage collection stuff
  947.         2) An automatic differentiation library
  948.         3) A sparse matrix library
  949.  
  950. This is an initial release and people should *expect* to have to do some
  951. work to get it running on their system. If you have gcc-2.3.3, libg++-2.
  952. 3[.1], Gnu make and makedepend you shouldn't have too much difficulty
  953. however. The code is unsupported, and is distributed under the terms of
  954. the GNU Public License. 
  955.  
  956.     Michael Tiller
  957.     University of Illinois (Urbana-Champaign)
  958.     (tiller@solace.me.uiuc.edu)
  959.  
  960.     ftp from usc.edu
  961.     int /pub/C-numanal/femlib-1.1.tar.gz
  962. ---------------------------------------------------------
  963. Ode Object database v2.0
  964.  
  965. Ode is an object-oriented database based on the C++ database model.
  966. The primary interface to Ode is the database programming language O++
  967. which is based on C++.
  968.  
  969. Ode is now available to Universities. The current version of Ode runs on
  970. Sun (Sparc) workstations and users must have C++ release 2.0 or a later
  971. release. If you are interested in using Ode and giving us feedback on
  972. your experience with Ode, please send mail to nhg@research.att.com with
  973. the appropriate information. 
  974.  
  975.     Narain Gehani
  976.     AT&T Bell Labs 3D-414
  977.     600 Mountain Ave
  978.     Murray Hill, NJ 07974
  979.  
  980.     ftp from research.att.com.
  981.     in dist/ode2.0/2.0.oppbin.tar.Z
  982. ---------------------------------------------------------
  983. C++SIM 1.0  - a simulation package written in C++. 
  984.  
  985. C++SIM provides discrete process based simulation similar to that
  986. provided by the simulation class and libraries of SIMULA. The linked list
  987. manipulation facilities provided by SIMSET are also included in the
  988. package. 
  989.  
  990. The simulation package requires the use of a threads package and
  991. currently only works with Sun's lightweight process library or the Gnu
  992. thread package (which *is* included in the distribution). The package has
  993. been used on Sun workstations, and, with the exception of the thread
  994. library requirement, contains no system specific code which should make
  995. porting to other systems relatively easy. The code has been compiled
  996. with Cfront 2.1 and Cfront 3.0.1 and g++ 2.3.3
  997.  
  998.     ftp from arjuna.ncl.ac.uk
  999. ---------------------------------------------------------
  1000. ADAPTIVE Communication Environment (ACE) C++ IPC wrappers (C++Wrapper).
  1001.  
  1002. This release contains contains the source code, documentation, and
  1003. example test drivers for a number of C++ wrapper libraries and higher-
  1004. level distributed application frameworks developed as part of the
  1005. ADAPTIVE project at the University of Calfornia, Irvine. 
  1006.  
  1007. The C++ wrappers encapsulate many of the user-level BSD and System V
  1008. Release 4 IPC facilities such as sockets, TLI, select and poll, named
  1009. pipes and STREAM pipes, the mmap family of memory-mapped file commands,
  1010. System V IPC (i.e., shared memory, semaphores, message queues), and
  1011. explicit dynamic linking (e.g., dlopen/dlsym/dlclose) using type-secure,
  1012. object-oriented interfaces. 
  1013.  
  1014. The higher-level distributed application frameworks integrate and enhance
  1015. the lower-level C++ wrappers to support the configuration of concurrent
  1016. network daemons composed of monolithic and/or stackable services 
  1017.  
  1018. A relatively complete set of documentation and extensive examples are
  1019. included in the release. A mailing list is available for discussing bug
  1020. fixes, enhancements, and porting issues regarding ACE. Please send mail
  1021. to ace-users-request@ics.uci.edu if you'd like to become part of the
  1022. mailing list. 
  1023.  
  1024.     ftp from ics.uci.edu (128.195.1.1) 
  1025.     in gnu/C++_wrappers.tar.Z
  1026. ---------------------------------------------------------
  1027. CB++ (CommonBase Database Access Library for C/C++)
  1028.  
  1029. This library was written in 1989 as a basis for storing C++ objects in
  1030. a relational database. The development of such a system was stopped in
  1031. 1990 because of problems with the MS-DOS environment used in this time.
  1032. My involvement in various user interface projects here in the institute
  1033. and otherwhere made it sleep until last week.
  1034.  
  1035. Okay, here is it. It is only the database access layer of the projected
  1036. object storage system but it has some useful features which are provided
  1037. by commercial tools out there:
  1038.  
  1039. * Builds on the C language interface of a database, there is no need
  1040.   for a precompiler (like embedded SQL - which is totally unusable in
  1041.   combination with C++, at least it was three years ago...)
  1042. * Very simple to use. Unlike the native C interfaces of the databases
  1043.   it is as simple as embedded SQL or some 4th generation languages.
  1044. * Makes applications portable among different SQL databases. The library
  1045.   itself is relatively easy to port as the database vendor specific code
  1046.  
  1047.  
  1048.     ftp from ftp.x.org 
  1049.     in /contrib/CB++.0.1.*
  1050. ---------------------------------------------------------
  1051. OBST - persistent object management system 
  1052.  
  1053. The persistent object management system OBST was developed by
  1054. Forschungszentrum Informatik (FZI) as a contribution to the STONE
  1055. project. 
  1056.  
  1057. Sites interested in getting information about new OBST developments
  1058. are welcome to register in their mailing list by sending a mail with
  1059. subject "obst-mailing-list" to stone@fzi.de.
  1060.  
  1061.     Forschungszentrum Informatik FZI
  1062.     STONE Projekt
  1063.     Haid-und-Neu-Strasse 10-14
  1064.     D-7500 Karlsruhe 1
  1065.     Germany
  1066.     Tel : ++49-721-9654-601
  1067.     Fax : ++49-721-9654-609
  1068.     Teletex : 721 190 fziKA
  1069.     email : stone@fzi.de
  1070.  
  1071.     ftp from gate.fzi.de [141.21.4.3]. 
  1072.     in /pub/OBST.
  1073. ---------------------------------------------------------
  1074. GRAS - A Graph-Oriented Database System for SE Applications
  1075. Copyright (C) 1987-1992  Lehrstuhl Informatik III, RWTH Aachen
  1076. This library is free software under the terms of the GNU Library 
  1077. General Public License.
  1078.  
  1079. The system GRAS with interfaces for the programming languages Modula-2
  1080. and C is available as public domain software for Sun3/Sun4 workstations
  1081. (the GRAS system itself is implemented in Modula-2 and consists of many
  1082. layers which might be reusable for the implementation of other systems): 
  1083.  
  1084.   There are several files contain documentation, sources, binaries,
  1085.   and libraries. All binaries are for Sun/4 machines. Sun/3 binaries
  1086.   are shipped only if explicitly requested.
  1087.  
  1088.     Lehrstuhl f"ur Informatik III
  1089.     University of Technology Aachen (RWTH Aachen),
  1090.     Ahornstr. 55,
  1091.     D-5100 Aachen
  1092.     Contact : Dr. Andy Sch"urr (or Richard Breuer),
  1093.     andy@rwthi3.informatik.rwth-aachen.de
  1094.     ricki@rwthi3.informatik.rwth-aachen.de (for technical support)
  1095.  
  1096.     ftp from tupac-amaru.informatik.rwth-aachen.de (137.226.112.31) 
  1097.     in /pub/unix/GRAS522_3
  1098. ---------------------------------------------------------
  1099. MTL110JE.ZIP -- multithreading class library
  1100.  
  1101. DOS PC/Borland C++ specific.
  1102.  
  1103.     ftp from oak.oakland.edu
  1104.     in /pub/msdos/cplusplus
  1105.     or garbo.uwasa.fi
  1106.     in /pc/c
  1107. ---------------------------------------------------------
  1108. CCL110JE.ZIP -- coroutine class library
  1109.  
  1110. DOS PC/Borland C++ specific.
  1111.  
  1112.     ftp from oak.oakland.edu
  1113.     in /pub/msdos/cplusplus
  1114.     or garbo.uwasa.fi
  1115.     in /pc/c
  1116. ---------------------------------------------------------
  1117. TSR100JE.ZIP -- TSR class library
  1118.  
  1119. DOS PC/Borland C++ specific.
  1120.  
  1121.     ftp from oak.oakland.edu
  1122.     in /pub/msdos/cplusplus
  1123.     or garbo.uwasa.fi
  1124.     in /pc/c
  1125. ---------------------------------------------------------
  1126. XMS200JE.ZIP -- XMS array class library
  1127.  
  1128. Wrapper classes to access XMS, UMBs and the HMA, as well as a templated
  1129. XMS array class. Test suites and timing programs provided for each class.
  1130. Source included. Free. DOS PC/Borland C++ specific. 
  1131.  
  1132.     ftp from oak.oakland.edu
  1133.     in /pub/msdos/cplusplus
  1134.     or garbo.uwasa.fi
  1135.     in /pc/c
  1136. ---------------------------------------------------------
  1137.  
  1138. Useful ftp sites
  1139. ~~~~~~~~~~~~~~~~
  1140. If you don't have ftp access, send email to ftpmail@decwrl.dec.com
  1141. saying "help".  You will get instructions on how to do ftp via email.
  1142.  
  1143. European users might like to try ftpmail@grasp.insa-lyon.fr instead.
  1144. ---------------------------------------------------------
  1145. ftp.th-darmstadt.de
  1146.  
  1147. A major repository of C++ stuff, mostly under the directory tree starting 
  1148. at /pub/programming/languages/C++. Includes a product list (from which
  1149. some of the information in this document was taken) in various formats in 
  1150. sub-directory c++-products.
  1151.  
  1152.     /pub/programming/languages/C++/...
  1153. ---------------------------------------------------------
  1154. ftp.luth.se
  1155.  
  1156.     /pub/languages/c++/ClassLibs/...
  1157. ---------------------------------------------------------
  1158. netlib@research.att.com.
  1159.  
  1160. send mail with the text "send index" or "send index from C++"
  1161. ---------------------------------------------------------
  1162. Simtel
  1163.  
  1164. Note Simtel doesn't have a home at present, but the mirror sites are still
  1165. available, including, for example, oak.oakland.edu.
  1166.  
  1167.     <MSDOS.CPLUSPLUS>
  1168. ---------------------------------------------------------
  1169. Current CUG Library Catalog
  1170.  
  1171. The CUG CD-ROM file listing offers the most comprehensive look at the
  1172. programming tools and utilities available from CUG. The complete
  1173. annotated listing (about 1 megabyte) is available through anonymous ftp
  1174. as follows: 
  1175.  
  1176.     ftp from cdrom.com
  1177.     in /pub/cdrom/cdroms/cug/capsule.txt
  1178. ---------------------------------------------------------
  1179. source-code newsgroups:
  1180.         ftp.uu.net  (e.g. usenet/comp.sources.reviewed archives the
  1181.         comp.sources.reviewed newsgroup).
  1182. ---------------------------------------------------------
  1183. Netlib:
  1184.         research.att.com     email, ftp
  1185.         ornl.gov             email, xnetlib
  1186.         nac.no               email, xnetlib for Europe
  1187.            (e.g. send email to netlib@ornl.gov to access by email)
  1188.         unix.hensa.ac.uk is a mail server useful for Europe.
  1189.         ci.cs.uow.edu.au (130.130.64.3) in Australia
  1190. ---------------------------------------------------------
  1191.  
  1192. Libraries for which I don't know an ftp site
  1193. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1194. ---------------------------------------------------------
  1195. DCE++: A C++ API for Programming Distributed Systems
  1196.  
  1197. William Leddy, Arjun Khanna (arjun@hal.com)
  1198. HaL Computer Systems, Austin, Texas.
  1199.  
  1200. DCE++ is a set of ANSI C++ classes that enable the rapid prototyping of
  1201. distributed programs. The goal of DCE++ is to provide a platform
  1202. independent C++ API to the significant components used in distributed
  1203. computing. Namely: RPC, threads, Security and Naming across the widely
  1204. used distributed computing platforms such as DCE, ONC and WNT. 
  1205.  
  1206. It is expected that by encapsulating platform dependencies inherent in
  1207. setting up rpcs, security etc. in DCE++ base classes, program development
  1208. time can be drastically reduced. Moreover, a foundation can be provided
  1209. for developing *portable* distributed program development tools. 
  1210.  
  1211. The second *evaluation* version of DCE++, version 0.4, has been released
  1212. on Dec 2'93. The release includes C++ bindings for remote procedure calls
  1213. over DCE and ONC. A C++ threads api for programming DCE threads. A C++
  1214. threads api for programming DCE distributed Time Service. The release is
  1215. available free of charge upon signing a very liberal license agreement. 
  1216.  
  1217. The license agreement is obtainable by anonymous ftp from hal.com. It is
  1218. in the directory dce++. The same directory also contains the release
  1219. notes for the 0.4 version and plans for 0.5 features. To obtain the code,
  1220. please send the signed license agreement to: 
  1221.  
  1222. Arjun Khanna, FAX (U.S country code) 512-794-8737
  1223. ---------------------------------------------------------
  1224. GenTools: A Computational Genomic Tool Suite
  1225.  
  1226. The University of Texas System CHPC and collaborators are addressing the
  1227. problems of high performance platforms by developing GenTools, an
  1228. interactive, distributed, loosely integrated, set of tools for DNA and
  1229. protein sequence data analysis, phylogenetic analysis, and restriction
  1230. mapping which combines different algorithm implementations, machines, and
  1231. databases through a "bio-user" friendly set of graphical user interfaces.
  1232.  
  1233.     Sarah Barron
  1234.     GenTools Project Leader
  1235.     Computational Molecular Biology and Genetics Group
  1236.     University of Texas System Center for High Performance Computing
  1237.     Balcones Research Center, CMS 1.154
  1238.     10100 Burnet Road
  1239.     Austin, TX 78758-4497
  1240.  
  1241.     Internet:  sarah@chpc.utexas.edu
  1242.     Bitnet:    s.barron@uthermes
  1243.     Voice:     (512)471-2434
  1244.     FAX:       (512)471-2445
  1245. ---------------------------------------------------------
  1246.  
  1247. Commercial libraries
  1248. ~~~~~~~~~~~~~~~~~~~~
  1249.  
  1250. ---------------------------------------------------------
  1251. Persistence is supposed to give access to a relational database from 
  1252. a C++ object model.
  1253.  
  1254.     Persistence Software Inc
  1255.     1700 Sourth Amphlett Blvd, Suite 250
  1256.     San Mateo, Ca 94402
  1257.     415.341.7733
  1258. ---------------------------------------------------------
  1259. Tools.h++ is the basic Rogue Wave tools library.
  1260.  
  1261. Tools.h++ consists mostly of a large and rich set of concrete classes
  1262. that are usable in isolation and do not depend on other classes for their
  1263. implementation or semantics. 
  1264.  
  1265. Components include Collections, String processing, Time & date handling, File space
  1266. manager, B-Tree disk retrieval, bit vectors, virtual I/O streams, caching
  1267. managers, virtual arrays, etc. 
  1268.  
  1269.     Rogue Wave Software, Inc., 
  1270.     1325 NW 9th Street
  1271.     Corvallis
  1272.     OR, 97330
  1273.     (503) 754-2311.
  1274. ---------------------------------------------------------
  1275. Matrix.h++ includes all the functionality of Math.h++.  For example:
  1276. general matrices, vectors, statistics, complex numbers, Fast Forier
  1277. Transformation (FFT's), etc.  Matrix.h++ adds specialized matrix classes
  1278. such as banded, symmetric, positive-definite, Hermitian, tridiagonal, etc.
  1279. Because Matrix.h++ includes Math.h++, it can take advantage of
  1280. Math.h++'s highly optimized low-level assembly routines, making it fast
  1281. as well as graceful.
  1282.  
  1283. Prices range from $199 to $995
  1284.  
  1285.     Rogue Wave Software, Inc., 
  1286.     1325 NW 9th Street
  1287.     Corvallis
  1288.     OR, 97330
  1289.     (503) 754-2311.
  1290. ---------------------------------------------------------
  1291. Linpack.h++ is the jewel of C++ math classes.  Linpack.h++ includes all
  1292. of Matrix.h++, plus all of the functionality in the original and well-
  1293. established Fortran version; including solutions of systems of equations
  1294. for a variety of matrix types, solutions of over- and under-determined
  1295. systems of equations, incremental least squares solvers, etc.  But,
  1296. Linpack.h++ is a tru object-oriented library, not just a C version that
  1297. compiles under C++:  the traditional messiness of the Fortran version has
  1298. been replaced with high-level, yet efficient, objects that make code far
  1299. easier to write and maintain.
  1300.  
  1301. Prices range from $299 to $1195
  1302.  
  1303.     Rogue Wave Software, Inc., 
  1304.     1325 NW 9th Street
  1305.     Corvallis
  1306.     OR, 97330
  1307.     (503) 754-2311.
  1308. ---------------------------------------------------------
  1309. Classix
  1310.  
  1311. In addition to Rogue Wave, Empathy offers a good general-purpose
  1312. library called Classix.  
  1313.  
  1314.     Empathy
  1315. ---------------------------------------------------------
  1316. USL (UNIX System Laboratories Europe Ltd.)
  1317.  
  1318. USL C++ Standard Components include :
  1319.  
  1320. Args - argc/argv command line parser.
  1321. Bits - bit manipulation to arbitrary-length bitstrings.
  1322. Blocks - dynamic arrays.
  1323. Array - efficient algorithms for searching, sorting, inserting etc.
  1324. Fsm - state machines
  1325. Graphs - maintain arbitrary relationships between arbitrary entities.
  1326. Graph Algorithms - including searching, cycle and component detection.
  1327. ipcstream - inter-process streams.
  1328. Lists - doubly-linked lists.
  1329. Maps - like arrays, except that the subscripts can be non-integral.
  1330. Objections - like UNIX software signals.
  1331. Path - facilities for manipulating UNIX path names and UNIX search paths.
  1332. Pools - optimise memory allocation.
  1333. Regex - regular expressions.
  1334. Sets - including Sets, Bags, and pointer sets.
  1335. Stopwatch - for timing critical sections of code
  1336. Strings - variable-length character strings.
  1337. Strstream - iostreams for Strings.
  1338. Symbol - efficient symbol table handling & sorting.
  1339. Time - Time, Duration (time difference) and Place (geographical location).
  1340.  
  1341. Also included are the following tools :
  1342.  
  1343. c++filt  - demangles C++ names in standard input.
  1344. dem  - demangles C++ names in an argument list.
  1345. demangle  - demangles C++ names in a.out for easier debugging.
  1346. fs  - a tool and library to help find freestore bugs.
  1347. g2++comp  - compiles G2++ record definitions.
  1348. hier  - displays the inheritance hierarchy in a program.
  1349. incl  - displays the hierarchy of include files used in a program.
  1350. publik  - displays the public interface of a class.
  1351.  
  1352.     UNIX System Laboratories, Inc.
  1353.     190 River Rd.
  1354.     Summit
  1355.     N.J, 07901
  1356.     Tel: +1 800-828-UNIX
  1357.          +1 908-522-6000
  1358.  
  1359.     UNIX System Laboratories Europe Ltd.
  1360.     International House
  1361.     Ealing Broadway
  1362.     London W5 5DB
  1363.     England
  1364.     Tel: +11-44-81-567-7711
  1365.  
  1366.     UNIX System Laboratories Pacific Ltd.
  1367.     BR Shiba 1 Bldg. 2-3-18
  1368.     Shiba Minato-ku
  1369.     Tokyo 105
  1370.     Japan
  1371.     Tel: +81-3-5484-8601
  1372. ---------------------------------------------------------
  1373. Booch Components
  1374.  
  1375. Rational markets the C++ Booch objects which are a somewhat bizarre,
  1376. but possibly quite innovative, set of library objects.
  1377.  
  1378. It appears quite complete (unless you have some specific, uncommon
  1379. needs); Booch may have an edge in supporting concurrency. USL may have
  1380. more installations and greater maturity.
  1381.  
  1382.     Rational OO products
  1383.     408-496-3700
  1384. ---------------------------------------------------------
  1385. StarView - A Portable C++ Class Library for Graphical User Interfaces
  1386.  
  1387. StarView is a portable C++ Class Library for Graphical User Interfaces.
  1388. StarView is one of the major parts of our total Object Oriented
  1389. programming environment (we call it SOLAR system). 
  1390.  
  1391. -   portability between the operating systems MS-DOS, OS/2, Macintosh
  1392.     and different UNIX flavours
  1393. -   at  least portable between  the  GUI's MS-WINDOWS, MS-Presentation
  1394.     Manager, MacApp and OSF/Motif
  1395. -   fulfillment of the requirements of the different GUI Style
  1396.     Guide's
  1397. -   data  exchange and direct communication between the applications in
  1398.     homogeneous and heterogeneous networks (groupware approach)
  1399.  
  1400. StarView will support the following GUI's / Compilers:
  1401.  
  1402. Windows 3.x
  1403.         Borland C++
  1404.         Zortech C++
  1405.  
  1406. Presentation Manager
  1407.         Zortech C++
  1408.  
  1409. OSF Motif
  1410.         Sun C++
  1411.         Zortech C++
  1412.         Glockenspiel C++
  1413.  
  1414. Macintosh
  1415.         MPW C++
  1416.  
  1417. Author:     Andreas Meyer, STAR DIVISION
  1418.  
  1419.     STAR DIVISION GmbH
  1420.     Andreas Jahnke
  1421.     Sachsenfeld 4
  1422.     D-20097 Hamburg
  1423.     Germany
  1424.  
  1425.     Phone: ++49 40 23646 500
  1426.     Fax:   ++49 40 23646 550
  1427.     Email: svinfo@stardiv.de
  1428.  
  1429.     Star Division
  1430.     2180 Sand Hill Road, Suite 320
  1431.     Menlo Park, CA 94025
  1432.     (800) 888-8527
  1433.     (415) 233-0142 (fax)
  1434.  
  1435.     svinfo@starlab.uucp
  1436. ---------------------------------------------------------
  1437. Open Dialogue
  1438.  
  1439.     HP/Apollo
  1440. ---------------------------------------------------------
  1441. MacApp (application development toolkit)
  1442.  
  1443.     Apple
  1444. ---------------------------------------------------------
  1445. ICpak101, ICpak201
  1446.  
  1447.     Stepstone
  1448. ---------------------------------------------------------
  1449. NeXTStep (application development toolkit)
  1450.  
  1451.     NeXT
  1452. ---------------------------------------------------------
  1453. CommonView (Iconic user interface)
  1454.  
  1455.     Glockenspiel
  1456. ---------------------------------------------------------
  1457. CommonView Glockenspiel
  1458.  
  1459. This is a C++ UI library. In addition, it comes with container classes.
  1460. The down-side is that some of the features are not supported across all
  1461. platforms. 
  1462.  
  1463.     Computer Associates International
  1464.     One CA Plaza
  1465.     Islandia, NY 11788
  1466.     (516) 342-2308
  1467.     (516) 342-6947 (fax)
  1468. ---------------------------------------------------------
  1469. Galaxy
  1470.  
  1471. This is a C UI library, but it's written in an object-oriented style and
  1472. is type safe for C++ use. The package includes a WYSIWYG GUI builder. 
  1473.  
  1474. The tools are, reportedly, pretty full-featured. User-interface items
  1475. have extensive abstraction (for example, they have a confirmation-type
  1476. dialog that resolves to a push-pin and 'apply' button under openlook, but
  1477. 'ok', 'apply', 'cancel' buttons under motif). Objects can be positioned
  1478. relative to each other (rather than merely absolute position on the
  1479. screen). Also, errors are handled with an abstract exception handling
  1480. framework. They support internationalization of fonts (at least Japanese),
  1481. money, and data formatting. 
  1482.  
  1483. Some extra-cool features include memory leak detection and C-language
  1484. objects for text (multi-styled, multi-font text with embedded graphics),
  1485. list (spreadsheet-like for handling up to 2^31 x 2^31 cells with
  1486. customizable displays), and graphics processing. 
  1487.  
  1488.     Visix
  1489.     11440 Commerce Park Drive
  1490.     Reston, Virginia 22091
  1491.     (800) 832-8668
  1492.     (703) 758-2711
  1493.     galaxy@visix.com
  1494. ---------------------------------------------------------
  1495. Guild
  1496.  
  1497. This is a C-language UI library, but they're type-safe for C++
  1498. compatibility. The package includes a GUI builder and an event occurrence
  1499. monitor. 
  1500.  
  1501. Additional features in the library includes support for international
  1502. character sets, portable file system support and nifty C-language classes
  1503. for pie-charts, 3d bars, x-y plots, and the like. 
  1504.  
  1505. OPTIONS:
  1506.     Graphic Modeling        $995
  1507.     Oracle Database Bridge  $395
  1508.     ODBC Database Access    $495
  1509.  
  1510.     Guild
  1511.     1710 S. Amphlett
  1512.     2nd Fl.
  1513.     San Mateo, California 94402
  1514.     (415) 513-6650
  1515.     (415) 349-4908 (fax)
  1516. ---------------------------------------------------------
  1517. MainWin
  1518.  
  1519.     Machine Independent Software
  1520. ---------------------------------------------------------
  1521. ObjectViews
  1522.  
  1523. I believe this is a commercial version of InterViews.
  1524.  
  1525.     Quest Windows
  1526. ---------------------------------------------------------
  1527. Open Interface Version 3.0
  1528.  
  1529. This is a C-based UI library, but type-safe for C++ compatibility. The
  1530. software also comes with a WYSIWYG GUI builder. 
  1531.  
  1532. They include tons of extra widgets like business graphics (bar, pie, and
  1533. line charts), images (all standard formats), and hypertext help. 
  1534.  
  1535. Other software in Open Interface includes international character support,
  1536. multi-font support, full printer support, memory management, file I/O
  1537. support as well as Windows DDE support (the latter is, of course, non-
  1538. portable). 
  1539.  
  1540. They also have a product called Nexpertobject, which is an expert systems
  1541. tool intended for GUI development. 
  1542.  
  1543.     Neuron Data
  1544.     156 University Avenue,
  1545.     Palo Alto, California 94301
  1546.     (800) 876-4900
  1547.     (415) 321-4488
  1548. ---------------------------------------------------------
  1549. Wind/U
  1550.  
  1551.     Bristol Software
  1552. ---------------------------------------------------------
  1553. WNDX
  1554.  
  1555.     WNDX
  1556.     1550 8th Street S.W. Suite 305
  1557.     Calgary, Alberta Canada T2R 1K1
  1558.     (403) 244-0995
  1559. ---------------------------------------------------------
  1560. XVT Portability Toolkit
  1561.  
  1562. This is a C-language library of functions (although, you can pay extra
  1563. for C++). They have a WYSIWYG GUI builder, but they charge for that, too.
  1564.  
  1565.  
  1566. OPTIONS:
  1567.     C++ capability                      $200
  1568.     XVT-Design (a WYSIWYG GUI builder)  $1200 ($2900 for non-PC UNIX)
  1569.     Source Code                         (call)
  1570.  
  1571.     XVT Software Incorporated
  1572.     4900 Pearl East Circle
  1573.     Box 18750
  1574.     Boulder, CO 80308
  1575.     (800) 678-7988
  1576.     (303) 443-4223 (phone)
  1577.     (303) 443-0969 (fax)
  1578.  
  1579.     info@xvt.com
  1580. ---------------------------------------------------------
  1581. zApp V2.0
  1582.  
  1583. This is a full C++ class library.
  1584.  
  1585. This product contains 200 classes to provide things like DDE support (non-
  1586. portable), printer support, logical positioning (top, bottom, etc) of
  1587. window items, and true-type font support. Included in their package is 75
  1588. pre-defined forms (as well as the usual examples). 
  1589.  
  1590. The software comes with zApp Programmer's Guide (330 pages) and zApp
  1591. Programmer's Reference (890 pages). 
  1592.  
  1593. OPTIONS:
  1594.     Object/Designer $499 (is this a GUI builder?)
  1595.  
  1596.     Inmark
  1597.     2065 Landings Drive,
  1598.     Mountainview, CA 94043
  1599.     (800) 3-inmark
  1600.     (415) 691-9000
  1601.     (415) 691-9099 (fax)
  1602.  
  1603.     sales@inmark.com
  1604. ---------------------------------------------------------
  1605. Zinc V3.5
  1606.  
  1607. This is a full C++ class library that comes with the Zinc Designer (a
  1608. WYSIWYG GUI builder). Their classes include some graphic capabilities, a
  1609. rather nice error system, and a portable, if rudimentary, help system.
  1610. Also included is the source for the library (and for the Designer!). 
  1611.  
  1612. In addition to the usual GUI stuff, Zinc also provides international
  1613. character support (an extended version, for extra bux, is in the works),
  1614. some container classes, and filesystem portability. They also allow you
  1615. to incorporate platform-specific stuff (e.g., system messages) into their
  1616. API; but, of course, you're on your own when it comes to porting any
  1617. additions. 
  1618.  
  1619.  
  1620.     ZINC Software Incorporated
  1621.     405 South 100 East 2nd Floor
  1622.     Pleasant Grove, UT 84062
  1623.     (800) 638 8665
  1624.     (801) 785-8900
  1625.     (801) 785-8996 (fax)
  1626.     (801) 785-8997 (bbs)
  1627.  
  1628.     tech@zinc.com
  1629. ---------------------------------------------------------
  1630. Software Transformation has a cross-platform product which was designed
  1631. from the ground up for commercial ISVs, not just MIS shops, and the
  1632. technology is supposed to blow away XVT. 
  1633.  
  1634.     Software Transformation
  1635. ---------------------------------------------------------
  1636. OpenUI is another GUI builder
  1637.  
  1638. This interface supports C, Pascal, and (ish) COBOL.
  1639.  
  1640.     Open Software Associates
  1641.     P.O. Box 3599
  1642.     Sunnyvale, CA 94088-3599
  1643.     (408) 730-2626
  1644. ---------------------------------------------------------
  1645. NetClasses++, C++ classes for message passing environments:
  1646.  
  1647. NetClasses is a set of C++ class libraries that is organized as an object-
  1648. oriented software toolkit for distributed, message-passing based
  1649. programming. 
  1650.  
  1651. Facilities include :
  1652.  
  1653. Transporting objects over a network. NetClasses can transport: Arbitrary
  1654. C++ objects derived from PostModern's TransObject class, arbitrary NIH-
  1655. derived objects, and NetClasses Typed Objects. 
  1656.  
  1657. NetClasses Typed Objects provide an object-oriented data transport in
  1658. which the structure and organization of objects is specified externally
  1659. in configurable files using a simple, programming language independent
  1660. abstract syntax notation, the NetClasses Abstract Syntax Notation (NASN).
  1661.  
  1662. Remote method invocations (RMI). Using RMI, an application on machine B
  1663. can invoke a method on machine A. RMI makes fault tolerance and
  1664. connection management transparent to the application programmer. The RMI
  1665. layer is built on top of the distributed services package that is
  1666. described below. 
  1667.  
  1668. Reading and writeing all three varieties of NetClasses-transportable
  1669. objects on streams using machine-independent external representations. 
  1670.  
  1671. Currently available on Sun SPARC; currently testing on HP workstations.
  1672.  
  1673. NetClasses Development License          $1995
  1674. NetClasses Runtime License               $495
  1675. NetClasses Source Code License          $7995
  1676. (includes 3 runtime licenses)
  1677. NetClasses training class               $2000
  1678. NetClasses consulting and porting services (ask for quote)
  1679.  
  1680.     Qualix Group
  1681.     1900 S. Norfolk St. Suite 224
  1682.     San Mateo, CA 94403
  1683.     info@qualix.com
  1684.     1-800-245-UNIX (voice)
  1685.     (415) 572-1300 (fax)
  1686.     (415) 572-0200 (voice)
  1687. ---------------------------------------------------------
  1688. Aspect
  1689.  
  1690. This is a C library, though they're type safe for C++ compatibility. A
  1691. GUI builder is provided with the library. They're coming out with a C++
  1692. class library soon. 
  1693.  
  1694.     OPEN Inc.
  1695.     655 Southpointe Court, Suite 200
  1696.     Colorado Springs, CO 80906
  1697.     (719)527-9700 (sales, customer service, tech support)
  1698.     (719)576-3835 (fax)
  1699. ---------------------------------------------------------
  1700. C++/Views
  1701.  
  1702. This is a C++ library based on the smalltalk model (all classes come from
  1703. one superclass, and they have a smalltalk-like class browser). They do
  1704. not have a WYSIWYG GUI builder. 
  1705.  
  1706. Additional features include various container classes.
  1707.  
  1708.     Liant Software Corp.
  1709.     959 Concord St.,
  1710.     Framingham, MA 01701 USA
  1711.     (800) 237-1873
  1712.     (508) 875-2246.
  1713.     support@lpi.liant.com
  1714. ---------------------------------------------------------
  1715. Presentation Services Manager UI library
  1716.  
  1717. No WYSIWYG GUI builder exists, but they do include a script language. 
  1718.  
  1719.     Lancorp Pty Ltd
  1720.     33 Nott St
  1721.     Port Melbourne 3207
  1722.     Australia
  1723.     +61 3 646 7100 (phone)
  1724.     +61 3 646 8610 (fax)
  1725. ---------------------------------------------------------
  1726. ILOG RULES is a high performance embeddable rule-based inference
  1727. engine. It is a forward chaining tool, written in C++ (hence it is
  1728. object-oriented and supports inheritance mechanisms) and is also
  1729. provided as a C++ library. 
  1730.  
  1731. It runs virtually on any Unix platform (e.g., HP97X0, Sun4, RS/6000,
  1732. DecStations) as well as on PCs running DOS (with or without MS/Windows)
  1733. or OS/2. 
  1734.  
  1735. It extends OPS/5 with nested premises (objects as values), rule packets
  1736. (logical grouping of rules), a full Truth Maintenance System (TMS) for
  1737. efficient non-monotonic reasoning, compilation of rules into C/C++ code,
  1738. and an object oriented data-model in C++. ILOG RULES work directly on
  1739. user objects, so interfacing is straightforward. C/C++ code may be
  1740. included in rule conditions and actions. ILOG RULES is based on the fast
  1741. XRETE implementation of the RETE algorithm developed by Thomson-CSF. 
  1742.  
  1743.     ILOG, Inc., 
  1744.     2073 Landings Drive, 
  1745.     Mountain View, 
  1746.     CA 94043, 
  1747.     tel 415-390-9000, 
  1748.     fax 415-390-0946, 
  1749.     e-mail info@ilog.com.  
  1750.  
  1751. European customers should contact 
  1752.     ILOG SA, 
  1753.     2, av. Gallieni, 
  1754.     BP 85, 
  1755.     94253 Gentilly CEDEX, 
  1756.     France, 
  1757.     tel +33 (1) 46-63-66-66, 
  1758.     fax +33 (1) 46-63-15-82, 
  1759.     e-mail info@ilog.fr.
  1760. ---------------------------------------------------------
  1761. ImageSoft's Object/Engineering C++ class library supports simulation.
  1762.  
  1763. The library provides a natural approach to solving discrete-event
  1764. simulation problems. Modularity is reinforced by implementing the
  1765. process objects as concurrent tasks. Support is provided for dynamic
  1766. systems; transaction operators; transaction messages; as well as
  1767. queuing network thread with polymorphic scheduler (timer for
  1768. discrete-event simulation; tracer for simulation run; processes
  1769. in discrete-event simulation with services delay;
  1770. conventional/unconditional blocking, pre-emption, etc.;
  1771. shared queues/links in network with LIFO, FIFO & arbitrary
  1772. queuing discipline; producing node and source; consuming node
  1773. and sink; generic queuing network nodes and servers.
  1774.  
  1775. And full source code is provided together with extensive
  1776. documentation, examples and tutorial. There are also an
  1777. enourmous number of other class libraries included with
  1778. source that are of interest to the scientific and engineering community.
  1779.  
  1780.     ImageSoft Inc.
  1781.     2 Haven Avenue
  1782.     Port Washington, NY 11050
  1783.     (516) 767-2233
  1784.     (516) 767-9067 (Fax)
  1785.     (516) 767-9074 (BBS)
  1786.     email: mcdhup!image!object
  1787. ---------------------------------------------------------
  1788. POET : Object Oriented Database
  1789.  
  1790. POET runs on the SPARC, NeXT, DOS, MS-Windows, Novell, OS/2, and
  1791. Macintosh. Other ports are in the works. Pricing starts at about $500. 00
  1792. for the DOS version, to a little over $1000.00 for the Unix versions. 
  1793.  
  1794.     BKS Software
  1795.     One Kendall Square
  1796.     Suite 2200
  1797.     Cambridge, MA 02139
  1798.     Phone: 617 / 621 7047
  1799.     Fax:   617 / 621 7097
  1800.  
  1801. In Germany : BKS Software
  1802.              Guerickestr. 27 
  1803.              1000 Berlin 10
  1804.              Germany
  1805.              Phone: +49 30 / 342 3066
  1806.              Fax:   +49 30 / 342 8413
  1807.  
  1808.     BKS Software
  1809.     4633 Old Ironsides Drive
  1810.     Suite 110
  1811.     Santa Clara, CA 95054
  1812.     Tel:    408 / 748 - 3403
  1813.     Fax:    408 / 748 - 9060
  1814.  
  1815. European Office:
  1816.     BKS Software
  1817.     Fo_redder 12
  1818.     2000 Hamburg 67
  1819.     Germany
  1820.     Tel:    +49 40 / 60 99 011
  1821.     Fax:    +49 40 / 60 39 851
  1822.     Internet: poet@bks.de
  1823.  
  1824. UK Office:
  1825.     Silicon River, Ltd.
  1826.     106-108 Powis Street
  1827.     London, SE18 6LU
  1828.     England
  1829.     Tel:    +44 81 / 317 7777
  1830.     Fax:    +44 81 / 316 7778
  1831.     BBS:    +44 81 / 317 2310
  1832.     Internet:  acourt@cix.compulink.co.uk
  1833. ---------------------------------------------------------
  1834. ORION/ITASCA - Object Oriented Database
  1835.  
  1836.     Itasca Systems, Inc.  
  1837.     2850 Metro Drive
  1838.     Suite 300
  1839.     Minneapolis, MN  55425
  1840.     Tel: 612-851-3158
  1841.     Fax: 612 851 3157
  1842.  
  1843. A slightly different address from another poster ...
  1844.  
  1845.     Itasca Systems, Inc.
  1846.     7850 Metro Parkway
  1847.     Minneapolis, Minn 55425 
  1848.     Tel: (612) 851-3155
  1849.     Technical Contact : Doug Barry (doug@itasc.com)
  1850. ---------------------------------------------------------
  1851. OS Object Oriented Database
  1852.  
  1853.     O2 technology
  1854.     Suite 2200
  1855.     1 Kendall Square
  1856.     Cambridge MA 02139
  1857.     U.S.A.
  1858.     Tel: +1 617 621 7041
  1859.     Fax: +1 617 577 1209
  1860.  
  1861. France : 
  1862.     O2 Technology
  1863.     7, Rue du Parc de Clagny
  1864.     78035 Versailles Cedex
  1865.     France
  1866.     Tel: +33 1 30 84 77 91
  1867.     Fax: +33 1 30 84 77 90
  1868.     Email: o2@o2tech.fr
  1869.     Contact: Didier Plateau
  1870.     Email: didier@o2tech.fr
  1871. ---------------------------------------------------------
  1872. G-BASE/GTX (MATISSE) Object Oriented Database
  1873.  
  1874.     ODB, an Intellitic Intl Co.
  1875.     238 Broadway
  1876.     Cambridge, MA 02139
  1877.     phone:     (617) 354-4220
  1878.     fax:    (617) 547-5420
  1879.     e-mail: info@odb.com
  1880.     Contact: Christina Bernard, Marketing and Communications
  1881. ---------------------------------------------------------
  1882. OBJECTSTORE Object Oriented Database
  1883.  
  1884. email address for their distributor in France: bchavonnet@elsa.fr
  1885.  
  1886.     Object Design
  1887.     Main office              California address
  1888.     One New England Executive Park     101 El Camino Real, Suite 300
  1889.     Burlington, MA  01803         Menlo Park, CA 94025
  1890.     Tel: 617-270-9797              (415) 327 - 5191
  1891.     Fax: 617-270-3509
  1892.  
  1893. UK Office:
  1894.     Object Design (UK) Ltd.
  1895.     604 Delta Business Park
  1896.     Welton Road
  1897.     Swindon
  1898.     Wiltshire SN5 7XP
  1899.     44-793-486111
  1900.     44-793-491177 (fax)
  1901. ---------------------------------------------------------
  1902. Objectivity/DB Object Oriented Database
  1903.  
  1904. Objectivity/DB runs on the SPARC, as well as all sun platforms, all dec
  1905. platorms (and operating systems), hp 9000 series (68k and risc), ibm risc,
  1906. sgi, and some others, all in a mixed fully distributed and heterogeneous
  1907. environment.
  1908.  
  1909. Objectivity Inc.
  1910.     West coast                      East coast
  1911.     800 El Camino Real        67 South Bedford Street
  1912.     Fourth Floor            Suite 400W
  1913.     Menlo Park, CA  94025        Burlington, MA 01803
  1914.     Tel: 415-688-8000        Tel: 617 229 5817
  1915.     Fax: 415-325-0939        Fax: 617 272 0558
  1916.  
  1917.     11050 Strathmore Dr., #316/300B
  1918.     Los Angeles, CA  90024
  1919.     (310) 208-6117
  1920.     (310) 208-5677 fax
  1921.  
  1922.     email: info@objy.com
  1923.     European General Manager : Remy Malan (remy@objy.com)
  1924.  
  1925. For Germany:
  1926.     Dr. Matthias Frei
  1927.     Micram Microelectronic GmbH & Co. KG
  1928.     Universitatsstrabe 142
  1929.     4630  Bochum
  1930.     Germany
  1931.     ph:    +49  234  97 08-304
  1932.     fax:    +49  234  97 08-301
  1933.     e-mail:    frei@micram.de
  1934.  
  1935. For Sweden, Norway, Finland and Denmark:
  1936.     Mr. Kjell Hegerin
  1937.     Norsys Technology AB
  1938.     Finlandsgatan 12
  1939.     Box 1239
  1940.     S-164 28 Kista
  1941.     Sweden
  1942.     phone:    +46 8 750 75 75
  1943.     fax:    +46 8 703 92 72
  1944.  
  1945. For The United Kingdom:
  1946.  
  1947.     Valbecc Object Technology Ltd.
  1948.     115 Wilmslow Road
  1949.     Handforth, Wilmslow
  1950.     Cheshire  SK9 3ER
  1951.     United Kingdom
  1952.     contact:    Fred Peel
  1953.     ph:    +44  625  539903
  1954.     fax:    +44  625  539905
  1955. ---------------------------------------------------------
  1956. ONTOS Object Oriented Database
  1957.  
  1958.     Ontologic, Inc.
  1959.     Three Burlington Woods
  1960.     Burlington, MA  01803
  1961.     Tel: 617-272-7110
  1962.     Fax: 617-272-8101 
  1963.  
  1964. UK distributor:
  1965.     VALBECC SOFTWARE
  1966.     Mr. Fred Peel
  1967.     115 Wilmslow Road
  1968.     Handforth,
  1969.     Wilmslow, SK9 3ER 
  1970.     U.K.
  1971.     tel +44 625 539 903
  1972.     fax +44 625 539 905
  1973. ---------------------------------------------------------
  1974. KALA Object Oriented Database
  1975.  
  1976. Kala(tm) is a Persistent Data Server managing distributed, shared,
  1977. arbitrarily complex and evolving persistent data. Kala is highly
  1978. efficient and secure. Kala manages the visibility of persistent data
  1979. elements to its clients, thus supporting any types of transactions,
  1980. versions, access control, security, configurations. Kala does not
  1981. restrict you to any particular model. Kala provides the mechanism, but
  1982. imposes no policy.
  1983.  
  1984. o Kala is available now on Sun platforms (SunOS / 68K & SPARC). A
  1985.   80x86/DOS version is now available to alpha and early beta sites.
  1986.   Ports to Windows and MacOS are also likely in the near future. Any
  1987.   port is possible as NRE.
  1988. o Kala's interface is ANSI C, also callable from C++.
  1989.  
  1990.     Penobscot Development Corporation
  1991.     50 Princeton Road
  1992.     Arlington, MA 02174-8253
  1993.     USA
  1994.     Tel: +1-617-646-7935
  1995.     Fax: +1-617-646-5753
  1996.     Contact: Sergiu S. Simmel
  1997.     Email: sss@world.std.com 
  1998.     Information: kala-request@world.std.com
  1999. ---------------------------------------------------------
  2000. IDB Object Databases
  2001.  
  2002.     Persistent Data Systems
  2003.     P.O. box 38415
  2004.     Pittsburgh, PA 15238-9929
  2005.     Tel: 412-963-1846
  2006.     Fax: 412-963-1843
  2007. ---------------------------------------------------------
  2008. GEMSTONE Object Oriented Database
  2009.  
  2010. Briefly, GemStone is a full featured OODBMS with transaction control,
  2011. multiple users, multiple platforms supported, client server architecture,
  2012. active objects (ie, behavior can occur in the database as well as in the 
  2013. application using it), multiple language support, etc.
  2014.  
  2015. GemStone is actually quite a bit more than just a data repository - it is a
  2016. full-fledged DBMS that is pure OO. You can access the same database just as
  2017. easily from C, C++, or SmallTalk, or you can build entire database
  2018. applications inside the database server, because it is an active server
  2019. that runs methods written in our DML, OPAL, which is a dialect of
  2020. SmallTalk. There are also high-level tools to aid application building.
  2021.  
  2022.     Servio Corporation
  2023.     950 Marina Village Parkway
  2024.     Suite 110
  2025.     Alameda CA 94501
  2026.     Tel: 510-814-6200
  2027.     Tel: 800-243-9369
  2028.     Fax: 510-814-6227
  2029.     Contact : marcs@slc.com
  2030.  
  2031. UK Office:
  2032.     Servio-UK Ltd
  2033.     Criterion House
  2034.     Beauchamp Court
  2035.     Victors Way
  2036.     Barnet
  2037.     EN5 5TZ
  2038.     England
  2039.     Tel: (81) 447-0800
  2040. ---------------------------------------------------------
  2041. VERSANT Object Oriented Database
  2042.  
  2043. Versant markets a full-function OODBMS together with associated DBA and
  2044. application developer tools. Versant is currently available on Sun-3, Sun-4, 
  2045. IBM RS/6000, HP 9000/400,700, DEC Ultrix, SGI, NCR, NeXT and Sequent platforms. 
  2046. An OS/2 port has just been released. Other platforms will be announced soon.
  2047. A Windows/NT port is in progress.
  2048.  
  2049. Interfaces to 'C', 'C++' and Smalltalk-80 are supported.
  2050.  
  2051.     Versant Object Technology
  2052.     4500 Bohannon Drive
  2053.     Suite 200
  2054.     Menlo Park, CA  94025
  2055.     Attn: Mike Mooney
  2056.     Tel: 1-800-VERSANT
  2057.     Tel: (415) 329-7500
  2058.     Fax: (415) 325-2380
  2059.     Tel: 415-325-2300
  2060.     Fax: 415-325-2380
  2061.     Contact: Mary Foussourier
  2062.     Email:info@versant.com, 
  2063.     Email:info@osc.com
  2064.     Email:aflynn@osc.com
  2065.  
  2066. European Office:
  2067.     Versant Europe
  2068.     Siriusdreet 2
  2069.     P.O. Box 333
  2070.     2130 All Hoofddrop
  2071.     The Netherlands
  2072.     Tel: (31) 2503-66373
  2073.     Tel: +31 - (0)2503 - 66851
  2074.     Fax: +31 - (0)2503 - 66855
  2075.  
  2076. UK Distributor:
  2077.     Admiral Software Ltd
  2078.     Admiral House
  2079.     193-199 London Road
  2080.     CAMBERLEY
  2081.     Surrey GU15 3JT.
  2082.     Tel: 0276 692269
  2083.     Contact: Kevin Adams
  2084.     Contact: Clive Harris
  2085. ---------------------------------------------------------
  2086. M++
  2087.  
  2088. M++ isn't as well known as the RogueWave math.h++ libraries, but it has
  2089. been around longer. It has a number of features that distinguish it from
  2090. the RogueWave classes, notably improved handling of temporaries. 
  2091.  
  2092. M++ was explicitly designed to provide the functionality of an array
  2093. language like Matlab or Gauss and it contains the Linpack, Eispack stuff
  2094. found in RogueWave's Linpack.h++. 
  2095.  
  2096. Dyad Software, also sell modules written in M++ for doing statistical
  2097. work, including linear and nonlinear least squares estimation, as well as
  2098. optimization, numerical integration, and differential equations. 
  2099.  
  2100.     Dyad Software
  2101.     6947 Coal Creek Pkwy, Suite 361
  2102.     Renton, WA 98059-3159
  2103.     206-637-9426 (voice)
  2104.     206-637-9428 (fax)
  2105.     206-271-9486 (bbs)
  2106. ---------------------------------------------------------
  2107. Financial and other class libraries
  2108.  
  2109. I have no product details at present)
  2110.  
  2111.     Greenleaf Software, Inc.
  2112.     16479 Dallas Parkway, Suite 570
  2113.     Dallas, 
  2114.     Texas 75248
  2115. ---------------------------------------------------------
  2116.  
  2117.  
  2118. Other Commercial sources of C++ code
  2119. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2120. ---------------------------------------------------------
  2121. The USL UNIX Toolchest is an electronic catalog for browsing and ordering
  2122. source software. This catalog provides unsupported software products,
  2123. developed within AT&T, for the commercial UNIX world. As you browse
  2124. through the online catalog, you'll find descriptions of all the tools,
  2125. complete with information on memory and disk requirements, documentation,
  2126. and license fees. 
  2127.  
  2128. United States and Canada, may access the Toolchest by dialing 1-908-522-
  2129. 9600(e-7-1) and logging in as "guest". 
  2130. ---------------------------------------------------------
  2131. Checkout the ISCL CD ROM from ImageSoft, it contains the largest
  2132. collection of C++ source code ever compiled in one place. It's available
  2133. from ImageSoft ... 
  2134.  
  2135.     ImageSoft Inc.
  2136.     2 Haven Avenue
  2137.     Port Washington, NY 11050
  2138.     (516) 767-2233
  2139.     (516) 767-9067 (fax)
  2140.     (516) 767-9074 (bbs)
  2141.     email: mcdhup!image!iscl
  2142. ---------------------------------------------------------
  2143. This is not a code CD but it has many libraries & some code (all msdos)
  2144. brought together into a CD. 
  2145.  
  2146.     EMS Professional Software, Specialized Software Libraries
  2147.     Baker Enterprises
  2148.     20 Ferro Drive
  2149.     Sewell, NJ 08080
  2150.     Fax: 609-582-9204
  2151.     Internet: rbakerpc@aol.com
  2152. ---------------------------------------------------------
  2153.  
  2154. Other places to look for details of C++ libraries
  2155. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2156. The index of resources for numerical computation in C or C++.
  2157. ftp from usc.edu in pub/C-numanal/numcomp-free-c.gz
  2158. ---------------------------------------------------------
  2159. comp.object FAQ
  2160. ---------------------------------------------------------
  2161. comp.windows.misc portable-GUI-software FAQ
  2162. ---------------------------------------------------------
  2163. ftp.th-darmstadt.de /pub/programming/languages/C++/c++-products/*
  2164. ---------------------------------------------------------
  2165. ASSET is currently populating a national directory of reusable
  2166. software assets, the National Software Reuse Directory (NSRD).  The
  2167. concept is to provide a type of 'card catalogue' containing descriptions
  2168. of reusable software work products and services.
  2169.  
  2170. For more information on supplying listings for the NSRD, please
  2171. contact or send information to:
  2172.  
  2173.     National Software Reuse Directory
  2174.     c/o ASSET
  2175.     2611 Cranberry Square
  2176.     Morgantown, WV 26505
  2177.     email: nsrd@source.asset.com
  2178.     voice: (304) 594-9827
  2179.  
  2180. For more information on obtaining an ASSET account and accessing the
  2181. NSRD, please contact:
  2182.  
  2183.     ASSET Account Manager
  2184.     2611 Cranberry Square
  2185.     Morgantown, WV 26505
  2186.     email: info@source.asset.com
  2187.     voice: (304) 594-1762
  2188. ---------------------------------------------------------
  2189.  
  2190. -- 
  2191. Nikki Locke,Trumphurst Ltd.(PC & Unix consultancy) cpplibs@trmphrst.demon.co.uk
  2192. trmphrst.demon.co.uk is NOT affiliated with ANY other sites at demon.co.uk.
  2193.  
  2194.